As remote access of computer systems and applications grows in popularity, the number and variety of transactions which are accessed remotely over public networks such as the Internet has increased dramatically. This popularity has underlined a need for security; in particular: how to ensure that people who are remotely accessing an application are who they claim they are, i.e. how to authenticate users of a computer based application.
These days the average user accesses on a more or less regular basis a significant number of applications and websites that are in most cases not related to each other. Many of these sites require some kind of user authentication before granting the user access. This has resulted in the average user having to manage a multitude of authentication mechanisms and credentials, especially username-password combinations. This poses in practice a significant convenience problem for many users: the average user finds it hard enough to remember a single secure password, let alone a multitude of them for a whole range of applications. Many users therefore tend to use the same password for several applications and sites and/or choose easy to remember, but also easy to guess, passwords. This in turn causes a serious security issue. In an attempt to offer a higher convenience and/or security, Single Sign-On (SSO) solutions have been developed. While such SSO solutions can make things much more convenient for users, they tend to be a single point of failure from a security and accessibility point of view. Indeed, if the authentication mechanism that the user uses to authenticate with respect to the SSO system is compromised (e.g. because the user's password to the SSO system has been leaked) or is no longer accessible (e.g. because the user has blocked or forgotten the SSO password) then this may compromise or make inaccessible all the accounts that the SSO system may manage for the user.
What is therefore needed are systems and methods for authenticating a user that offer a higher security and/or convenience than existing systems.